hysop.backend.device.opencl.autotunable_kernels.remesh_dir module¶
- class hysop.backend.device.opencl.autotunable_kernels.remesh_dir.OpenClAutotunableDirectionalRemeshKernel(cl_env, typegen, build_opts, autotuner_config, **kwds)[source]¶
Bases:
OpenClAutotunableKernel
Autotunable interface for directional remeshing kernel code generators.
- autotune(direction, scalar_cfl, position, scalars_in, scalars_out, is_inplace, remesh_kernel, remesh_criteria_eps, force_atomics, relax_min_particles, hardcode_arrays, **kwds)[source]¶
Autotune this kernel with specified configuration.
hardcode_arrays means that array offset and strides can be hardcoded into the kernels as constants.
- compute_args_mapping(extra_kwds, extra_parameters)[source]¶
Return arguments mapping which is a dictionnary with arguments names as keys and tuples a values.
Tuples should contain (arg_position, arg_type(s)) with arg_position being an int and arg_type(s) a type or tuple of types which will be checked against.
- compute_global_work_size(local_work_size, work, extra_parameters, extra_kwds)[source]¶
Compute aligned global_work_size from unaligned global_work_size and local_work_size. Input global_work_size may be None.
- compute_min_max_wg_size(work_bounds, work_load, global_work_size, extra_parameters, extra_kwds)[source]¶
Default min and max workgroup size.